home *** CD-ROM | disk | FTP | other *** search
/ ...taking it to the Macs! / ...taking it to the Macs!.iso / Extras / ActiveX Mac SDK / ActiveX SDK / Container Common / CContainer.h < prev    next >
Text File  |  1997-01-03  |  1KB  |  53 lines

  1. //
  2. //    Container.h
  3. //
  4. //  Copyright (C) Microsoft Corporation, 1996
  5. //
  6.  
  7. #ifndef __CCONTAINER_H__
  8. #define    __CCONTAINER_H__
  9.  
  10. #include <LArray.h>
  11. #include "Headers.h"
  12.  
  13. class CContainerManager;
  14.  
  15. class CContainer:
  16.     public CBaseCOM,
  17.     public IContainer
  18. {
  19. public:
  20.     // Constructor/Destructor
  21.     CContainer(void);
  22.     CContainer(CContainerManager* inOwner, PlatformPort* inHostPort);
  23.     ~CContainer(void);
  24.  
  25.     //  *** IUnknown methods ***
  26.     STDMETHOD(QueryInterface)(REFIID inRefID, void** outObj);
  27.     STDMETHOD_(Uint32, AddRef)(void) { return CBaseCOM::AddRef(); }
  28.     STDMETHOD_(Uint32, Release)(void) { return CBaseCOM::Release(); }
  29.  
  30.    // **** IContainer methods ***
  31.    STDMETHOD (EnumControls) (THIS_ SearchSpec* inSpec, Uint32 inSearchDepth, IEnumUnknown** outEnumerator) ;
  32.    
  33.     // *** ContainerClient methods ***
  34.     PlatformPort*  GetPort(void) { return mHostPort; }
  35.     
  36.    // **** Collection methods ***
  37.     void AddSite (CXSite* inSite);
  38.     void RemoveSite (CXSite* inSite);
  39.     Uint32 GetCount(void);
  40.     void FetchSite (Int16 inIndex, CXSite** outSite);
  41.     
  42.  
  43. protected:
  44.     PlatformPort*        mHostPort;
  45.     CContainerManager*    mOwner;        // The container manager that owns us
  46.     LArray                *mSiteArrayP;
  47.     CCodeDownload        *mCodeDownloadP;
  48.  
  49.  
  50. private:
  51.     void                CommonInit(void);
  52. };
  53. #endif